import request from '@/utils/request';
// 定义请求地址的枚举
enum Api {
  GetRoleList = '/admin.Role/list', // 获取角色列表数据
  RemoveRole = '/admin.Role/dele', // 移除角色
  SaveRole = '/admin.Role/add', // 保存角色
  UpdateRole = '/admin.Role/edit', // 修改角色
  AssignRole = '/admin.Role/edit', // 授权角色
  GetAssignRole = '/admin.Menu/list', // 获取角色列表
  GetUserInfo = '/admin.Role/info',//获取角色详情
  reqDisabled = '/admin.Role/disable' //禁用角色
}

/**
 * 获取角色分页列表(带搜索)
 * @param page 页码
 * @param limit 每页数量
 * @param role_name 搜索的角色名称
 */
export const getRoleListApi = (page: number, limit: number, role_name: string) => {
  return request.get<any, any>(Api.GetRoleList + `?role_name=${role_name}&limit=${limit}&page=${page}`);
};

/**
 * 保存一个新角色
 * @param role 角色对象
 * @returns null
 */
export const saveRoleApi = (role_name: any) => {
  return request.post<any, null>(Api.SaveRole, role_name);
};

/**
 * 给某个角色授权
 * @param roleId 角色ID
 * @param permissionId 多个权限id组成的字符串  2,3,4
 * @returns null
 */
// export const assignRoleApi = (admin_role_id: string,role_name:any, admin_menu_ids: string) => {
//   return request.post<any, null>(Api.AssignRole, null, {
//     params: {
//       admin_role_id,
//       role_name,
//       admin_menu_ids
//     },
//   });
// };

/**
 * 获取一个角色的所有权限列表
 * @param roleId 角色id
 * @returns PermissionModel
 */
export const getAssignRoleApi = () => {
  return request.get<any, any>( Api.GetAssignRole);
};
//获取角色详情
export const getUserInfoApi = (admin_role_id:any) => {
  return request.get<any, any>( Api.GetUserInfo+`?admin_role_id=${admin_role_id}`);
};

/**
 * 更新一个角色
 * @param role 角色对象
 * @returns null
 */
export const updateRoleApi = (admin_role_id:any,role_name:any,admin_menu_ids:any) => {
  return request.post<any, null>( Api.UpdateRole + `?admin_role_id=${admin_role_id}&role_name=${role_name}&admin_menu_ids=${admin_menu_ids}`);
};
/**
 * 删除某个角色
 * @param id 角色id
 * @returns null
 */
export const removeRoleApi = (admin_role_id: string) => {
  return request.delete<any, null>( Api.RemoveRole + `?admin_role_id=${admin_role_id}`);
};


export const reqGetDisabled = (admin_role_id:any,is_disable:any)=>{
  return request.get<any,any>(Api.reqDisabled + `?admin_role_id=${admin_role_id}&is_disable=${is_disable}`)
} 